Personal mobile internet

ABSTRACT

A client-server based system for providing location related information and services to mobile users is disclosed. A plurality of servers, wherein a server is a provider of information and services related to a specific predefined geographical coverage area, operate in a tree-shaped network. An operating mobile client, preferably operating in a mobile phone or PAD of a mobile user, establishes upon connection to the network an association, based on client location information, with one server at a time. A server association can be transferred from one server to another on an existing network connection as the user relocates from one server coverage area to another, and a user profile stored with the client or a special user profile server is applied to the standard user interface in the current server to provide the client with a personal user interface adapted at any time to the requirements of the user and to the information and/or services available at the current server.

FIELD OF INVENTION

[0001] The invention relates to the field of information and service systems based on client-server applications, wherein networked servers provide information or services to a mobile user by means of a mobile client. In particular, the client, intended to run in a mobile phone or PDA, provides a personalised user interface for requesting and providing information by a user. The server application comes in the same category as WAP or WWW servers. The system including the novel server-client provides the Personal Mobile Internet (PMI).

[0002] Terminology

[0003] SDL design is used to clarify and describe the client-to-server, server-to-client and server-to-server communication. A SDL design makes possible the wide use of simplifications and must not be seen as a real design but as a way to explain the principles of the invention.

[0004] A more detailed explanation of the terms and symbols used in the SDL design descriptions and examples are given in the accompanying FIG. 1.

[0005] The Problem Areas.

[0006] The WWW and WAP are both technologies that give the user easy access to information and services via the Internet. In WWW and WAP the servers do not co-operate in a distributed manner. In fact they are not aware of each other. This means that the user has to know the specific address to the information/service he wants to get from the server. These addresses can be saved as bookmarks. In practice the user spends a lot of time to find the information and services he wants.

[0007] Companies that provide WWW and WAP portals have solved the problem to some extent. These portals works like an index or a table of content to information and services on the Internet.

[0008] There is a significant difference between the “fixed” Internet user and the mobile Internet user.

[0009] The mobile Internet user wants:

[0010] Services based on his current or other specified geographical location;

[0011] Fast access to services and information through a personalised interface;

[0012] The ability to filter information and choose services based on his personal requirements.

[0013] The providers of information and services want:

[0014] To provide their information and services for users within a specific geographical area;

[0015] To provide their information and services in a way that makes them easy to access for the target group of users;

[0016] An easy technical way to keep their information and services updated.

[0017] These requirements are not fulfilled with the technology available today. Servers need to be connected in order to provide specific location dependent services to a user that moves around.

[0018] Known Solutions And Problems With These.

[0019] “The Virtual Home Environment” (3G TS 22.121) is quite close to this idea with regards to the user profile and the functionality seen from the users perspective. However, it does not say anything about servers and network.

[0020] The latest improvement to the WWW portals is that the user can make his own portal based on a selected subset of the hyperlinks from the standard portal. This feature provides a user-friendlier interface than his bookmarks, which is really the same thing.

[0021] Different kinds of positioning technology are available or are being developed. There is work being done to provide the mobile Internet user with information and services based on his location. As far as the applicant knows, these are services which are not specified as part of a general network solution.

[0022] The current solutions for location dependent information and services are not part of a general solution that fulfils the requirements stated above.

[0023] The portals available today are static. The information level is quite high because they cover big geographical areas. This means that small information/service providers may not be allowed to “hook on” to these portals, or they can simply not afford it.

[0024] The location dependent services that are popping up today must be organised in a network to make them easy to access for the user.

OBJECTS OF THE INVENTION

[0025] With reference to the limitations of the prior art referenced above, it is an object of the invention to provide a flexible and affordable information system for providing location dependent information and services according to predefined needs of a mobile user and the needs of the information and service providers.

[0026] It is a further object of the present invention to alleviate the mobile user of location specific information and services of the tedious task of searching through the huge amounts of information and services available on the Internet in order to find information and services of interest.

BRIEF DESCRIPTION OF THE INVENTION

[0027] A system according to the invention is characterised by the features of the appended independent patent claim 1. Other advantageous features of a system according to the invention of claim 1 are given by the appended dependent claims 2-9.

[0028] In a system according to the invention, servers providing location dependent information and services must be connected in a specific manner to provide the user with a dynamic personalised interface to the information and services.

BRIEF DESCRIPTION OF THE DRAWINGS

[0029] In the following, the invention will be explained by way of examples and with reference to the accompanying drawings, where:

[0030]FIG. 1 gives an overview of the terms and symbols used by SDL;

[0031]FIG. 2 illustrates an example of a network of servers in a PMI system according to the invention;

[0032]FIG. 3 illustrates the concepts of coverage areas and cells of servers in a system according to the invention;

[0033]FIG. 4 illustrates an example of a connect procedure of a client connecting to a server in a system according to the invention;

[0034]FIG. 5 illustrates an example of a connect procedure of a server in a system according to the invention;

[0035]FIG. 5 illustrates an example of a connect procedure of a server in a system according to the invention;

[0036]FIG. 6 illustrates an example of a server fetching the user profile from another server in a system according to the invention;

[0037]FIG. 7 illustrates an example of a service request execution in a client in a system according to the invention;

[0038]FIG. 8 illustrates an example of a service request execution in a server in a system according to the invention;

[0039]FIG. 9 illustrates an example of a hand-over procedure in a client in a system according to the invention;

[0040]FIG. 10 illustrates an example of a hand-over procedure in server A in an exemplary system according to the invention;

[0041]FIG. 11 illustrates an example of a hand-over procedure in server B in the exemplary system according to the invention referred to in FIG. 10;

[0042]FIG. 12 illustrates an example of a user initiated hand-over procedure in a client in a system according to the invention;

[0043]FIG. 13 illustrates an example of a user initiated hand-over procedure in server A in the exemplary system according to the invention referred to in FIGS. 10 and 11;

[0044]FIG. 14 illustrates an example of a disconnect procedure in a client and a server in a system according to the invention;

[0045]FIG. 15 depicts an exemplary network (“the Aruba PMI network”) providing PMI;

[0046]FIG. 16 shows a typical user interface example for the network in FIG. 15;

[0047]FIG. 17 shows an example of the subset of the standard user interface implemented by server B of the network in FIG. 15;

[0048]FIG. 18 shows an example of the subset of the standard user interface implemented by server C of the network in FIG. 15;

[0049]FIG. 19 shows an example of the Personal user interface, being part of the exemplary user profile for a person X;

[0050]FIG. 20 shows an example of the User interface generated by server B as it will appear on the client for the person X; and

[0051]FIG. 21 shows an example of the User interface generated by server C as it will appear on the client for the person X.

Network Topology

[0052] The servers in a system according to the invention are connected in an hierarchical ordered tree network. The system may comprise servers at the root, the branch nodes and at the leaves of the tree. Accordingly, in a system of networked servers according to the invention one may find one root server, a plurality of node servers, wherein each node server has one parent server and one or more child server(s), and a plurality of leaf servers that have no child servers. An example of such an arrangement is depicted in FIG. 2.

[0053] User Profile

[0054] The user profile holds user specific information and settings. PMI servers use the user profile to configure a session between a client and a server. Below is an example of user profile contents: UserID = User Identification Name = User name Phone number = telephone number of mobile device Personal user interface = {<user interface>}

[0055] In PMI, the most important information in the user profile is the last of the items listed immediately above, namely, a reference to the personal user interface, or, alternatively, information required to configure the personal user interface, or the personal user interface itself.

[0056] There are two ways of providing a server with the user profile. This depends on where the user profile is stored:

[0057] 1. The user profile can be stored in the client and is sent to the server during the connect procedure.

[0058] 2. The user profile can be stored on a special user profile server. When a client connects to a server, the user must enter a valid user ID and password to enable use of the user profile associated with that particular user. The server uses this information to obtain the complete user profile from the user profile server.

[0059] Standard User Interface

[0060] Generally, there is one standard basic user interface that applies for the whole network of servers. This user interface is intended to cover any location dependent information and services that apply for the geographical area covered by the entire network.

[0061] The servers in the network are intended to implement the actual services behind the standard user interface. The services can vary in functionality and availability depending on which server the client is co-operating with, and hence typically on information about the location of the user. The user chooses a subset of the user interface that applies for the PMI client running on his mobile device. This subset is referred to as the personalised user interface, and is stored in the user profile. When the user moves from one coverage area to another, the server that user's client at any time is automatically or statically connected to will provide the services that are available through the user's personalised user interface.

[0062] The standard user interface is hierarchical and generally menu-like. The top-level menus are very general and contain typically a number of sub-menus.

[0063] In the following, and by way of example, the menu structure of a user interface will be explained:

[0064] If PMI is based on WWW or WAP, the personal user interface will typically be generated on the particular server as WWW or WAP pages based on the user profile is settings. The user can then simply click on hyperlinks to interact with the server.

[0065] If PMI is based on WWW or WAP the personal user interface will most likely be generated on the particular server as WWW or WAP pages based on the user profile settings. The user will simply click on hyperlinks to interact with the server.

[0066] Note that throughout the rest of this document, service requests are explained in a more abstract way than simply clicking on a hyperlink in order to keep the description of PMI independent of any underlying protocols.

[0067] There are no specific requirements put on the layout and/or implementation of the services behind the menu items in the personal user interface. However, within a particular network implementing the PMI, a common hierarchical structure will be used by all servers in the network. Accordingly, with reference to the personalised user interface menu example to be described below with reference to FIGS. 15-21, the taxi (1, 1, 1) menu item may lead to a WWW or WAP page showing a list of phone numbers or an automatic ordering service.

[0068] By way of the following example, referring to FIGS. 15-21, the most important mechanisms in PMI are described in a simplified manner:

[0069] 1. The geographical area covered by the entire PMI network is also the coverage area of the root server. The root server may not provide any services at all as long as its coverage area is entirely divided in cells covered by other PMI servers. Accordingly, FIG. 15 shows a possible PMI network example, the “Aruba PMI network”, which consists of three servers; the root server (C) and two leaf servers (A and B). The leaf servers cover the entire coverage area of the root server. This means that a client will always be connected to server B or server C. Server A will act as a router.

[0070] 2. When setting up a PMI network, the standard user interface must be defined for the whole network. FIG. 16 shows a very small standard user interface that applies for the PMI network shown in FIG. 15.

[0071] 3. Each server in a PMI network implements a subset of the standard user interface. FIG. 17 shows the subset implemented by server B and FIG. 18 shows the subset implemented by server C.

[0072] 4. FIG. 19 shows an example of a personal user interface, which is part of the user profile for user X.

[0073] 5. When a user is connected to a server, or handed over to a server, this particular server will create a user interface, which is downloaded to the client. The server creates this user interface by applying the personal user interface (part of the user profile) to the subset of the standard user interface that the server supports. Unsupported menus are simply ignored.

[0074] 6. Server B will generate the user interface shown in FIG. 20 for user X, while server C will generate the user interface shown in FIG. 21 for user X.

[0075] There are no specific requirements on the layout/implementation of the services behind the menu items in the user interface generated for a specific client/user. Accordingly, with reference to the personalised user interface menu example described above with reference to FIGS. 15-21, the taxi (1,1,1) menu item may lead to a WWW or WAP page showing a list of phone numbers or an automatic ordering service. However, the menu items that are part of standard user interface are sorted in a specific order which must be followed. The menu item names must also be used unchanged. The user can customise his personal user interface. He may decide to reorder the menu items on a specific sub-tree level, or move menu items/sub-trees to a higher level in the tree. This is shown in FIG. 19 where (1,1,1), (1,1,4) and (1,2,1,0) has been moved to the top. The menu items under sub-tree (1,3,0) have been reordered.

[0076] Standard User Interface Versions

[0077] The standard user interface will probably be updated sometimes. A new version of the standard user interface will be compatible with previous versions if the new version has been made by

[0078] 1. Adding new menu items using new menu item identifiers

[0079] 2. Menus have been removed (not replaced!)

[0080] 3. Moving an existing menu has been done using 1 and 2

[0081] If the steps 1-3 above are followed, servers are compatible even if they support different versions. The same applies for user profiles based on different versions.

[0082] Methods for upgrading servers and user profiles with new standard user interface versions is an implementation issue.

[0083] Personal User Interface

[0084] The personal user interface is a subset of the standard user interface. This subset is part of the information held in the user profile.

[0085] As an example of setting up a personal user interface, the most user friendly way to set up the personal user interface is to use a PC or work station. A WWW server can be set up providing a service for making the personal user interface. The user can simply select the menu items he wants and modify the corresponding properties. After creating the personal user interface the user can activate it. Depending on where the user profile is stored the personal user interface is then downloaded to the client or transferred to the user profile server.

[0086] Menu Item Properties.

[0087] When setting up his personal interface the user can add properties to the menu items. The user can also add properties to a menu item when during a PMI session, e.g. make a menu static.

[0088] Some menu items may have unique properties based on the specific service they offer. Some properties apply to all menu items.

[0089] “dynamic” property should be enabled by default on all menus in the personal interface. This property means that the services behind the menu item should be automatically updated when the client is handed over to a new server.

[0090] If the “static” property is enabled it means that the user has chosen to always request the service behind a particular menu item from a chosen server. This means that when a static menu item will act like a WAP or WWW bookmark.

[0091] If the “always supported” property is enabled it means that the particular menu item should not disappear if the client is handed over to a new server which do not support it. The client shall in this case request the service from the last visited server supporting the menu item. This means that the client must store information about the server supporting the menu item during the hand-over procedure. In other words the particular menu item will be static as long as the current server do not support it.

[0092] Coverage area and Cells

[0093] One of the key features with PMI is the organisation of coverage areas and cells. Each server covers a specific geographical area that is called a coverage area. The server offers location dependent information and services for its coverage area. Most of these should be accessible through the standard user interface.

[0094] There may be servers that cover a geographical area within the coverage area of a server. The coverage area of such a server is called a cell within the enclosing coverage area.

[0095] Cells may cover the entire coverage area belonging to a server.

[0096] All servers except leaf servers have cell(s) in its coverage area.

[0097] Note that a cell must be within the coverage area of the parent. Cells on the same level can not overlap each other.

[0098]FIG. 3 shows the organisation of coverage areas (and cells) for a sub-tree of the exemplary structure depicted in FIG. 2.

[0099] Server Properties

[0100] All servers in a PMI network should run the same physical PMI server application.

[0101] The server can be adapted to implement the actual services behind the standard user interface. Optionally, the server can be adapted to forwarding the service request from the client to another server.

[0102] If the server can automatically retrieve/receive the geographical location of the client it can perform automatic hand-over of the client. Hand-over is the operation of transferring a client to the parent server or a child server. A server performs hand-over to his parent server if the user moves outside its coverage area. If the user moves into a cell the server hands the user over to the server covering the cell.

[0103] The client may also initiate a manual hand-over.

[0104] Client Properties

[0105] The client is only connected to one server at a time. No other server has knowledge about the client.

[0106] A client is dynamic if the server can get the location of the client at any time. This means that the server can perform automatic hand-over of the client.

[0107] A client is static if the location of the client is sent to the server when the user decides to do it. This means that the user must interact to initiate a hand-over.

[0108] When the client contacts a server or is handed over to a server the client transfer the user profile to the server. (Another solution is that the server may download the user profile from a specific user profile database.) The server can be adapted to inform the user of whether or not it supports the entire personal user interface. Then the user can access the subset/superset of his personal user interface.

[0109] Client-Server Communication

[0110] The client-server communication can be categorised as follows:

[0111] 1. Connect sequence

[0112] Log onto a server

[0113] Send user profile to server if it is stored in the client

[0114] Negotiate positioning algorithm (dynamic clients)

[0115] Send personal user interface to client

[0116] 2. Service request mode (the user chooses a menu item)

[0117] Send service request to server

[0118] Send static service request to other server in a connection-less manner

[0119] 3. Hand-over

[0120] Reconnect to a new server with/without user interaction

[0121] Send new/updated user interface to client

[0122] 4. Disconnect

[0123] The details of the client-server communication in each case above are described in more detail in the following, partly by way of SDL design examples.

[0124] Connecting a Client to a Server

[0125] A client may connect to any server in the network. The connect procedure is the same whether or not the client is static or dynamic. However a dynamic client may be automatically handed over to the server covering its current location as part of the connect procedure.

[0126] There are two ways of providing the server with the user profile. The procedure depends on where the user profile is stored

[0127] 1. The user profile is stored in the client and is sent to the server during the connect procedure

[0128] 2. The user profile is stored on a special user profile server. When a client connects to a server the server must get the user profile using the UserID

[0129] In order to support static clients each server must provide the user with the possibility to connect to its parent server or its child server(s). This enables a static client to manually browse the entire network in order to find a specific server or a server covering his current location.

[0130] Connect Procedure in the Client

[0131] With reference to FIG. 4 showing an SDL design of an exemplary connect procedure in the client in a system according to the invention, the principles of the connect procedure in the client are described. Important points are:

[0132] 1. The user chooses to connect to a server. This is illustrated in FIG. 4 by the receiving of the UserConnectReq message

[0133] 2. The connect procedure is started when the ConnectReq is sent to the server

[0134] (The Connecting-NewServer transition in FIG. 4 is the same as the *-NewServer transition depicted in FIG. 9.)

[0135] Connect Procedure in the Server

[0136] With reference to FIG. 5 showing an SDL design of an exemplary connect procedure in the server in a system according to the invention, the principles of the connect procedure in the server are described. Important points are:

[0137] 1. The server receives the ConnectReq message with client, user and optional location information from the client

[0138] 2. The location information is checked for validity

[0139] 3. If the location information is present and valid (dynamic client) it is compared against the coverage area and cells of the server. This procedure is the same as for the hand-over procedure to be described later under the heading “Hand-over”.

[0140] If the user is within the coverage area of the server or the location information is not present or invalid, then the server creates a user interface based on the user profile

[0141] The server notifies the client that it has been connected to a new server by sending the NewServer message containing the new server address and the new user interface

[0142] 6. The NewServerTimer is set in case the client do not respond

[0143] 7. When the NewServerAck message is received the client has accepted the new server. A user context for the new client is created

[0144] Fetching a UserProfile From Another Server.

[0145] With reference to FIG. 6 showing an SDL design of an exemplary procedure in a server for fetching the user profile from another server in a system according to the invention, the principles of the procedure in a server for fetching the user profile from another server are described. Important points are:

[0146] 1. The server fetches the user profile from the user profile server by sending a GetUserProfile message

[0147] 2. When the user profile is received the connection procedure can proceed as described above

[0148] Location Information

[0149] After a client has been connected to a server there are several possibilities for providing the server with location information.

[0150] The server may get location info from:

[0151] 1. the client

[0152] 2. an external source

[0153] 3. a combination of the client and an external source

[0154] The client may provide location information from:

[0155] 1. A positioning device (dynamic client)

[0156] 2. User input (static or dynamic client)

[0157] The client must not waste battery power to transmit location information that is not used by the server. This can be solved in several ways:

[0158] 1. The server can respond to each Location message from the client saying when to generate and send the next message. The response message from the server can contain a certain time delay and/or the maximum distance the client can move in any direction. Calculation of a time delay and distance requires that the server keep track of the direction and speed of the client

[0159] 2. The server can ask for the location when it is needed. In this case the server must keep track of the speed and direction of the client

[0160] Service Requests

[0161] Service requests are executed when the user selects a menu item from the user interface on the client. There are two types of service requests:

[0162] 1. Service requests executed on the server which the client is currently connected to

[0163] 2. Service requests executed on servers that the user is currently not connected to

[0164] Reference is now made to FIG. 7, where an exemplary SDL design showing service request execution in the client covering the two types of service requests is depicted to explain the principles. Important points in this regard are:

[0165] 1. The client receives user input from the MMI. This is illustrated in FIG. 7 by receiving the MenultemSelected message

[0166] 2. If the menu item is static a server address is attached to it. In order to execute the service request on another server parts of the user profile must be sent in the StaticServiceRequest message

[0167] 3. If the menu item is dynamic (default) only the User ID and the Menu item ID is needed as parameters to the ServiceRequestmessage

[0168] 4. The ResponseTimer is set in case the service request operation fails

[0169] 5. The ServiceResponse message contains response content for the requested service. From this point on mechanisms outside PMI is used in the client-server communication involved in the service request execution

[0170] Reference is now made to FIG. 8, where an exemplary SDL design showing service request execution in the server is depicted to explain the principles. Important points in this regard are:

[0171] 1. The server receives the ServiceRequest or StaticServerRequest message, executes the service behind the selected menu item and returns the response to the client.

[0172] Hand-Over

[0173] The operation of transferring a client from one server (server A) to another server (server B) is called hand-over. A server can only hand the client over to its parent server or to a child server.

[0174] There are three situations that initiates a hand-over:

[0175] 1. The client has moved out of the coverage area of the server it is currently connected to—hand-over to parent server

[0176] 2. The client has entered a cell within the coverage area of the server it is currently connected to—hand-over to child server

[0177] 3. The user has manually initiated a hand-over to a specific server

[0178] A dynamic client is automatically handed over to another server without interaction from the user. The user having a static client must initiate a hand-over by manually entering his current geographical location, another geographic location or the specific server he wants to be handed over to.

[0179] The hand-over procedure will differ depending on how the server receive or retrieve the geographical location of the client.

[0180] Hand-Over from Server when the Client Provides the Location Information

[0181] In the following, exemplary SDL designs showing various aspects of the hand-over from server A to server B when the client provides the location information are employed to explain the hand-over principles.

[0182] Hand-Over Procedure in Client

[0183] Reference is made to FIG. 9, where an exemplary SDL design showing the hand-over procedure in the client is depicted to explain the principles. Important points are:

[0184] 1. The client receives location information from a positioning device/entity in the mobile device and sends it to the server

[0185] 2. The client receives a NewServer message if a hand-over has occurred

[0186] 3. The client sends a NewServerAck message to acknowledge the changing of server

[0187] 4. The NewServer message contains the address to the new server and information that is necessary in order to update the personal user interface to fit the services offered by the new server

[0188] Hand-Over Procedure in Server A

[0189] Reference is made to FIG. 10, where an exemplary SDL design showing the hand-over procedure in the current server (server A) is depicted to explain the principles. Important points are:

[0190] 1. Server A receives location information from the client

[0191] 2. The received location information is compared against its coverage area and cells:

[0192] If the client is within the coverage area no action is taken

[0193] If the client has moved outside the coverage area it is handed over to the parent server

[0194] If the client has moved inside a cell it is handed over to the child covering the cell (whether or not to perform this operation may depend on user profile settings)

[0195] 3. If the server decides to do a hand-over it sends a Hand-over message to server B containing the UserProfile and ClientAddress of the client to be handed over.

[0196] 4. The HandoverTimer is set in case the hand-over operation fails.

[0197] 5. During the hand-over procedure no service requests are executed. If the hand-over is successful they are forwarded to server B, if not they are executed after the HandoverTimer has expired (Server private services can not be forwarded.)

[0198] 6. When the HandoverAck message is received the user has successfully been handed over to server B. Server A can destroy all information regarding the client.

[0199] Hand-Over Procedure in Server B

[0200] Reference is made to F IG. 11, where an exemplary SDL design showing the hand-over procedure in the next server (server B) is depicted to explain the principles. Some important points are:

[0201] 1. Server B receives a Hand-over message from server A containing information about the client and the address to server A

[0202] 2. Server B creates a new personal user interface to match its available services

[0203] 3. Server B notifies the client that it has been handed over to a new server by sending the NewServer message containing the new server address and the new user interface

[0204] 4. The NewServerTimer is set in case the client do not respond

[0205] 5. When the NewServerAck message is received the client has accepted the new server. A user context for the new client is created and a HandoverAck message is sent to the server A to confirm a successful hand-over operation

[0206] Server A may receive service request from the client forwarded by B. If it does not support these messages, then an error message will be sent to the client.

[0207] Hand-Over from Server A to B when the Location Information is Provided by an External Source

[0208] In this case, the hand-over procedures are to a large extent the same as for the procedures described above, with the difference that the server retrieves and/or receives location information.

[0209] To explain the difference by means of the SDL diagrams for the previous case, one can take the SDL diagrams above and remove (FIG. 9) the transition regarding location in the client. Server A receives the Location message (Co-ordinates) from an external positioning device and/or entity (FIG. 10).

[0210] User Initiated Hand-Over from Server A to B

[0211] User initiated hand-over is the only way to change server for a static client. A dynamic client may disable positioning and perform user-initiated hand-over as well.

[0212] Reference is made to FIGS. 12 and 14, where exemplary SDL designs showing the hand- over procedures when the user chooses to be handed over to a specific server are depicted to explain the principles. Note that these figures show subsets of the SDL diagrams previously shown in FIGS. 10 and 11, but the applicable mechanism is described here.

[0213] Firstly, Reference is made to FIG. 12, where an exemplary SDL design showing the user initiated hand-over procedure in the client is depicted to explain the principles. Some important points are:

[0214] 1. The user chooses a new server. This is illustrated in FIG. 12 by receiving the NewServerReq message

[0215] 2. The hand-over operation is started when the HandoverReq is sent to the server the client is currently connected to

[0216] 3. The client receives a NewServer message if a hand-over has occurred

[0217] 4. The client sends a NewServerAck message to acknowledge the changing of server

[0218] 5. The NewServer message contains the address to the new server and information that is necessary in order to update the personal user interface to fit the services offered by the new server

[0219] Next, reference is made to FIG. 13, where an exemplary SDL design showing the user initiated hand-over procedure in the current server (server A) is depicted to explain the principles. Some important points are:

[0220] 1. Server A receives the HandoverReq message from the client 2. A Hand-over message to server B containing the UserID, UserProfile and ClientAddress of the client to be handed over

[0221] 3. The HandoverTimer is set in case the hand-over operation fails

[0222] The rest of the procedure applicable to this section is covered by the previous SDL diagrams and description related to FIGS. 10 and 11.

[0223] Disconnect:

[0224] The user may at any time exit the client application. In this case the server should be notified and the user context should be destroyed.

[0225] In some cases the client will not be able to perform the disconnect procedure. This means that the server should implement an “inactivity timer”. This means that the server will automatically remove a user context after a specific time when there has been no interaction with the specific client.

[0226] Now, reference is made to FIG. 14, where an exemplary SDL design showing the disconnect procedure in the client and the server is depicted to explain the principles. Some important points are:

[0227] 1.The user chooses to disconnect the current PMI connection. This is illustrated in FIG. 14 by receiving the Disconnect message

[0228] 2. A DisconnectReq message is sent to the Server

[0229] 3. The client application is terminated

[0230] 4. The Server receives the DisconnectReq message from the client and destroys the user context

[0231] Advantages

[0232] PMI can easily be realised in software. There is no specific hardware demands connected to its function. Underlying functionality like positioning may require special hardware.

[0233] PMI needs functionality from underlying technology for:

[0234] Connecting the PMI servers to each other in a WAN

[0235] The Internet

[0236] Information Transfer

[0237] WSP (WAP)

[0238] HTTP

[0239] Information Formatting/Language

[0240] WML (WAP)

[0241] XML

[0242] HTML

[0243] Positioning (Dynamic Clients)

[0244] GSM positioning

[0245] GPS

[0246] If the PMI network is based on WAP it may be implemented in a way that makes it possible for all WAP compatible phones to be a PMI client.

[0247] The main advantage with PMI is that it is simple. It should be no problem to extend it to future requirements and technology. This also means that it should be possible to implement the PMI server and make a world-wide PMI network right now!

[0248] A world-wide PMI network means that the user is able to use his personal portal no matter where in the world he is! The links attached to the menu items in his personal portal will automatically change as the user change geographical location, but only if the user has configured them to be dynamic.

[0249] The roll out of a world-wide PMI network can be done in few steps:

[0250] 1. Set up a root server covering the whole world

[0251] 2. Register five or more cells on the root that covers the parts of the world and set up the corresponding servers

[0252] 3. Register a cell and set up a server for each country on the corresponding world part server

[0253] 4. Sell the PMI server application to companies with commercial interest and offer cell registration on the country servers. Servers on this level and below is the most important servers because they offer the services that the user sets up in his personal portal

[0254] After step 4 it is just to wait for the network to grow into a world-wide network for location dependent services. This will happen because all information and service providers want to be a part of a network where their “customers” easily can access their services. Today it is a big job for a service provider to make their WWW or WAP server visible, especially if their services are location dependent. Buying a PMI server and hooking it on the PMI network solves all these problems!

[0255] Dynamic PMI clients are only possible when positioning supported by the mobile phone or network is available. Still static PMI clients is a very good alternative compared to how WWW and WAP servers are accessed today.

[0256] Each PMI server may of course offer services that is not part of the standard interface. The user should be able to set up in the user profile whether or not he wants to see server private services in his user interface.

[0257] The user may of course “bookmark” services on certain servers. If these services are part of the standard user interface they will become static. I they are not part of the standard user interface they will always be accessed as if the client is static.

[0258] The personal portal is more than a menu hierarchy. When moving around in a car, bus, train or by foot each PMI server may provide a voice message (played via BT headset) or a popup text message describing the coverage area of the server (country, city, shopping centre, zoo, amusement park etc.). This could be an option in the standard user interface.

[0259] Broadening:

[0260] The information provided by the PMI servers is also interesting for non-mobile Internet users. This open for the possibility that a user can visit a city, shopping centre etc. from his home PC. The PMI server will not distinguish between a client running on a PC or a mobile phone user as long as they have been connected as static users.

[0261] The servers may of course offer special information services that are not covered by the standard user interface. The user can choose in the user profile whether or not he wants server private information and services. 

1. A client-server based information or service system for providing location dependent information or services to operating mobile clients, said system comprising a plurality of stationary servers arranged in a hierarchical ordered tree shaped network, characterized in that each server is arranged to provide information or services corresponding to a predefined specific geographical area, said geographical area being non-overlapping to with respect to adjacent areas corresponding to servers on the same network hierarchy level, said geographical being subdevideable to comprise geographical areas corresponding to servers on lower network hierarchy levels, any server is located at either the root, a branch node or a leaf of the tree shaped network, and any operating mobile client has an association with only one server at a time, the association being transferable between adjacent servers of the tree shaped network on an existing connection of a client to the network, whereby a mobile client user obtains automatically or on user request information or services of interest pertaining to the specific geographical area of the corresponding server with which the client currently has an association.
 2. System according to claim 1, characterized in that a user of a mobile client communicates with the server by means of a personal user interface transferred from the server to the client upon establishment of the association.
 3. System according to claim 1, characterized in that the association of a mobile client with a server is dependent on user location information provided to any server by the client or a separate source of user location information.
 4. System according to claim 2, characterized in that the personal user interface is derived, by the server, from a standard user interface or a subset of a standard user interface held in the server, by applying a user profile to the standard user interface.
 5. System according to claim 2, characterized in that the personal user interface comprises at least a multi-level (hierarchical) menu of information or service item identifiers selectable by a client user.
 6. System according to any one of the previous claims, characterized in that the client is a viewer application adapted to a standard protocol such as WWW or WAP, and the user interface is a collection of hyperlinks presented to the user by means of the viewer application, each hyperlink constituting an information or service request being sent to an associated server when selected by the user.
 7. System according to claim 3, characterized in that the association of a client with a current server (server A) is transferred to a next server (server B) when the user location information indicates that the user relocates from a location within the coverage area of the respective current server (server A) to a location within the coverage area of the next server (server B).
 8. System according to claim 4 or 5, characterized in that the user profile includes a personal user interface specification and at least one of a user identification, a user name or a telephone number, and the user profile is stored with the client or a special user profile server.
 9. System according to any one of the previous claims, characterized in that the root server can have no parent servers and any number of child servers, a branch node server can have one parent server any number of child servers, and a leaf server can have one parent server and no child servers. 